package com.gzsxy.esjy.service.product.dao;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.gzsxy.esjy.service.base.dto.response.CategoryRsp;
import com.gzsxy.esjy.service.product.entity.Category;
import com.gzsxy.esjy.service.product.entity.vo.CategoryQueryVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 * 类型 Mapper 接口
 * </p>
 *
 * @author zxl
 * @since 2021-11-02
 */
@Repository
public interface CategoryMapper extends BaseMapper<Category> {


    /**
     * @description: 分页查询分类
     * @param
     * @return
     */
    IPage<CategoryRsp> selectPageByCateQueryVo(
            //mp会自动组装分页参数
            IPage<?> pageParam,
            //mp会自动组装queryWrapper：
            //@Param(Constants.WRAPPER) 和 xml文件中的 ${ew.customSqlSegment} 对应
            @Param(Constants.WRAPPER) QueryWrapper<Category> wrapper);

    /**
     * @description: 查询所有分类
     * @param
     * @return
     */
    List<CategoryRsp> getAllCategory();


    /**
     * @description: 是否存在分类名
     * @param
     * @return
     */
    Boolean existByCategoryName(String categoryName);

    /**
     * @description: 是否存在子分类
     * @param
     * @return
     */
    Boolean existChildren(String categoryId);
}
